package com.fau.wmbj.server.flowable.entity;

import lombok.Getter;
import lombok.Setter;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 流程历史任务对象 act_hi_taskinst
 */

@Getter
@Setter
@Entity(name = "ACT_HI_TASKINST")
public class ActHiTaskinst implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    @Id
    @Column(name = "ID_")
    private String taskinstId;

    @Column(name = "REV_")
    private Long rev;

    @Column(name = "PROC_DEF_ID_")
    private String procDefId;

    @Column(name = "TASK_DEF_ID_")
    private String taskDefId;

    @Column(name = "TASK_DEF_KEY_")
    private String taskDefKey;

    @Column(name = "PROC_INST_ID_")
    private String procInstId;

    @Column(name = "EXECUTION_ID")
    private String executionId;

    @Column(name = "SCOPE_ID_")
    private String scopeId;

    @Column(name = "SUB_SCOPE_ID_")
    private String subScopeId;

    @Column(name = "SCOPE_TYPE_")
    private String scopeType;

    @Column(name = "SCOPE_DEFINITION_ID_")
    private String scopeDefinitionId;

    @Column(name = "PROPAGATED_STAGE_INST_ID_")
    private String propagatedStageInstId;

    @Column(name = "NAME_")
    private String name;

    @Column(name = "PARENT_TASK_ID_")
    private String parentTaskId;

    @Column(name = "DESCRIPTION_")
    private String description;

    @Column(name = "OWNER_")
    private String owner;

    @Column(name = "ASSIGNEE_")
    private String assignee;

    @Column(name = "START_TIME_")
    private Date startTime;

    @Column(name = "CLAIM_TIME_")
    private Date claimTime;

    @Column(name = "END_TIME_")
    private Date endTime;

    @Column(name = "DURATION_")
    private Long duration;

    @Column(name = "DELETE_REASON_")
    private String deleteReason;

    @Column(name = "PRIORITY_")
    private Long priority;

    @Column(name = "DUE_DATE_")
    private Date dueDate;

    @Column(name = "FORM_KEY_")
    private String formKey;

    @Column(name = "CATEGORY_")
    private String category;

    @Column(name = "LAST_UPDATED_TIME_")
    private Date lastUpdatedTime;

    @Column(name = "TENANT_ID_")
    private String tenantId;


}
